package com.lely.dao;

import com.lely.entity.Role;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

/**
 * @author lely
 * @date 2021/4/15 11:28
 */
@Mapper
@Repository
public interface RoleDao {

    /**
     * 查询单个实体信息
     * @param id
     * @return
     */
    Role get(Long id);

    /**
     * 查询符合条件的实体
     * @param condition 查询条件
     * @return 符合条件的实体
     */
    List<Role> getAll(Map condition);

    /**
     * 查询当前角色名称的个数
     * @param rolename 角色名称
     * @return 符合条件的实体个数
     */
    Integer count(String rolename);

    /**
     * 查询当前角色名称的个数
     * @param id    用户id
     * @return 符合条件的实体个数
     */
    Integer countByUserId(Long id);

    /**
     * 新增实体信息
     * @param role 实体对象
     */
    Integer add(Role role);

    /**
     * 更新实体信息
     * @param role 实体对象
     */
    Integer update(Role role);

    /**
     * 删除实体信息
     * @param id 删除的 id
     * @return 被删除的记录条数
     */
    Integer delete(Long id);

}
